package cn.hinglo.permission.model.bean;

import com.jfinal.plugin.activerecord.Model;
import com.jfinal.plugin.activerecord.IBean;

/**
 * @createTime: 2020-09-09 11:02:01
 * @author HingLo
 * @description: BaseApi 模型
 */
@SuppressWarnings({"serial", "unchecked"})
public abstract class BaseApi<M extends BaseApi<M>> extends Model<M> implements IBean {

	/**
	 * 主键
	 */
	public M setId(java.lang.Integer id) {
		set("id", id);
		return (M) this;
	}

	/**
	 * 主键
	 */
	public java.lang.Integer getId() {
		return getInt("id");
	}

	/**
	 * 接口的唯一名称
	 */
	public M setName(java.lang.String name) {
		set("name", name);
		return (M) this;
	}

	/**
	 * 接口的唯一名称
	 */
	public java.lang.String getName() {
		return getStr("name");
	}

	/**
	 * url 地址
	 */
	public M setUrl(java.lang.String url) {
		set("url", url);
		return (M) this;
	}

	/**
	 * url 地址
	 */
	public java.lang.String getUrl() {
		return getStr("url");
	}

	/**
	 * 需要执行的模板sql
	 */
	public M setSql(java.lang.String sql) {
		set("sql", sql);
		return (M) this;
	}

	/**
	 * 需要执行的模板sql
	 */
	public java.lang.String getSql() {
		return getStr("sql");
	}

	/**
	 * get,put,delete,post
	 */
	public M setMethod(java.lang.String method) {
		set("method", method);
		return (M) this;
	}

	/**
	 * get,put,delete,post
	 */
	public java.lang.String getMethod() {
		return getStr("method");
	}

	/**
	 * get请求方式返回数据类型，0: 自动判断，1：对象，2：集合
	 */
	public M setType(java.lang.Integer type) {
		set("type", type);
		return (M) this;
	}

	/**
	 * get请求方式返回数据类型，0: 自动判断，1：对象，2：集合
	 */
	public java.lang.Integer getType() {
		return getInt("type");
	}

	/**
	 * 0:新建，1：已测试，2：已发布，3：取消发布
	 */
	public M setState(java.lang.Integer state) {
		set("state", state);
		return (M) this;
	}

	/**
	 * 0:新建，1：已测试，2：已发布，3：取消发布
	 */
	public java.lang.Integer getState() {
		return getInt("state");
	}

	/**
	 * 该接口的描述
	 */
	public M setDes(java.lang.String des) {
		set("des", des);
		return (M) this;
	}

	/**
	 * 该接口的描述
	 */
	public java.lang.String getDes() {
		return getStr("des");
	}

	/**
	 * 最后更新时间
	 */
	public M setUpdateTime(java.util.Date updateTime) {
		set("updateTime", updateTime);
		return (M) this;
	}

	/**
	 * 最后更新时间
	 */
	public java.util.Date getUpdateTime() {
		return get("updateTime");
	}

}
